package com.yhn.bean;

import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;

/**
 * @Author 岳浩楠
 * @Date 2024-05-13 20:27
 * @Version 1.0
 */
public class TableInfo {
    /**
     * 数据库的表名
     */
    private String tableName;

    /**
     * 实体类的名字
     */
    private String beanName;

    /**
     * 实体类某些字段进行扩展的名字
     */
    private String beanExpandParamName;

    /**
     * 表的注释
     */
    private String comment;

    /**
     * 表里的字段信息
     */
    private List<FieldInfo> fieldList;

    /**
     * 表里的扩展的字段信息
     */
    private List<FieldInfo> queryFieldList;

    /**
     * 唯一索引集合
     */
    private Map<String, List<FieldInfo>> keyIndexMap = new LinkedHashMap();

    /**
     * 是否含有Date类型
     */
    private Boolean haveDate;

    /**
     * 是否含有DateTime类型
     */
    private Boolean haveDateTime;

    /**
     * 是否含有Decimal类型
     */
    private Boolean haveBigDecimal;


    public List<FieldInfo> getQueryFieldList() {
        return queryFieldList;
    }

    public void setQueryFieldList(List<FieldInfo> queryFieldList) {
        this.queryFieldList = queryFieldList;
    }

    public String getTableName() {
        return tableName;
    }

    public void setTableName(String tableName) {
        this.tableName = tableName;
    }

    public String getBeanName() {
        return beanName;
    }

    public void setBeanName(String beanName) {
        this.beanName = beanName;
    }

    public String getBeanExpandParamName() {
        return beanExpandParamName;
    }

    public void setBeanExpandParamName(String beanExpandParamName) {
        this.beanExpandParamName = beanExpandParamName;
    }

    public String getComment() {
        return comment;
    }

    public void setComment(String comment) {
        this.comment = comment;
    }

    public List<FieldInfo> getFieldList() {
        return fieldList;
    }

    public void setFieldList(List<FieldInfo> fieldList) {
        this.fieldList = fieldList;
    }

    public Boolean getHaveDate() {
        return haveDate;
    }

    public void setHaveDate(Boolean haveDate) {
        this.haveDate = haveDate;
    }

    public Boolean getHaveDateTime() {
        return haveDateTime;
    }

    public void setHaveDateTime(Boolean haveDateTime) {
        this.haveDateTime = haveDateTime;
    }

    public Boolean getHaveBigDecimal() {
        return haveBigDecimal;
    }

    public void setHaveBigDecimal(Boolean haveBigDecimal) {
        this.haveBigDecimal = haveBigDecimal;
    }

    public Map<String, List<FieldInfo>> getKeyIndexMap() {
        return keyIndexMap;
    }

    public void setKeyIndexMap(Map<String, List<FieldInfo>> keyIndexMap) {
        this.keyIndexMap = keyIndexMap;
    }
}
